home *** CD-ROM | disk | FTP | other *** search
- @Demoprogramm
- KIWI TOOLS DEMO V 2.2
- Herzlich Willkommen in Demoprogramm der KIWI TOOLS C V3.20
- Sie befinden sich zur Zeit in der Hilfefunktion.
- Wenn Sie starten möchten dann bitte Return, oder Maus auf OK
-
- ═══════════════════════════════════════════════════════════════
- N E U H E I T E N D E R V E R S I O N V 3.20
- ══════════════════════════════════════════════════════════════
-
- Dieses ist ein Demonstrationsprogramm der KIWI TOOLS V3.20
- Dieses Programm dient nur zur Verdeutlichung der Anwendungs-
- möglichkeiten der KIWI C TOOLS V 3.20.
-
- Was ist/sind KIWI C TOOLS V 3.20 ??
-
- Die KIWI C TOOLS V 3.20 ist eine Sammlung von Funktionen
- und Routinen für die Programmiersprache C.
- Diese Funktionen umfassen den überwiegenden Teil der für
- Benutzerführungen erforderlichen Leistung. Mit den hier
- gebotenen Funktionen können Sie Programme nach dem
- SAA/CUA Standard in einem Bruchteil der üblichen Zeit erstellen.
- Das Angebot der über 290 Funktionen teilt sich in insgesamt 14 Bereiche.
-
- 1. Bildschirm
- In dieser Katekorie finden Sie Funktionen zum Betrieb eines Bildschirms
- in Mono, Color, 25,43,50 Zeilen. Sie können Farben definieren,
-
- 2. Window
- Windows nehmen unter SAA/CUA eine bedeutende Stellung ein. Deshalb ist
- auch ein großer teil der Funktionen diesem Thema gewidmet.
- Zur Verfügung stehen 3 Grundtypen von Windows, statische, dynamische und
- Slide Windows.
- Statische Windows sind nicht veränderbar und dienen zur Ausgabe von
- Nachrichten oder ähnliches. Dynamische Windows benutzen einen
- integrierten virtuellen Bildschirm, der in der Größe das Window übertrifft.
- Innerhalb des virtuellen Bildschirms können Sie den Windowinhalt
- beliebig jederzeit interaktiv verschieben, ermöglicht durch den
- integrierten WindowManager, der Eventgesteuert ihre manipulationen
- erfaßt und steuert. Diese Windows sind beliebig am Bildschirm zu
- verschieben, zu skalieren oder zu scrollen. Diese stellen den Haupttyp
- der Windows. Der letzte Typ, die Slide Windows stellen eine Spielart
- der dynamischen Windows dar. DerUnterschied ergibt sich aus der Tatsache,
- das die Slide Windows bei erreichen der virtuellen Screengrenzen nicht
- stoppen, sondern eine Benutzerfunktion aufrufen können, die den Window-
- inhalt kontrolliert. Auf diese Weise sind Funktionen wie File Browser o.ä.
- leicht zu realisieren.
-
- Der Zugriff auf die Windows erfolgt mittels Handles, die als
- Aufrufparameter für die Ausgabefunktionen dienen.
- Zur schnellen Erstellung von Windows oder Eingabemasken steht ein
- Hilfsprogramm zu Verfügung, der ScreenManager. Dieses Programm unter-
- stützt die interaktive Erstellung von Windows und Masken enorm,
- ermöglicht die Benutzung von Prototypen in ihrer Applikation und
- erstellt den notwendigen Programmcode selbst. Eine Demoversion des
- ScreenManagers ist ebenfalls auf dieser Diskette enthalten.
-
-
-
-
-
-
-
-
- 3. Ausgabe
-
- 4. Tastatur
-
- 5. Eingabe und Editieren
-
- 6. Menüs und Dialog
-
- 7. On Line Hilfe
-
- 8. Drucker
-
- 9. Mausunterstützung
-
- 10. Datum und Zeit
-
- 11. Binärkompatible File I/O
-
- 12. Memory Shell
-
- 13. Procedure Table
-
- 14. Diverses
-
-
-
-
-
-
-
-
-
-
-
- Diese neue Version bietet einige weitreichende Verbesserungen.
-
- Die wohl wichtigste Neuerung ist die Benutzung von
- virtuellen Bildschirmen, und damit die Einführung dynamischer
- Windows. Diese dynamischen Windows können zu jeder Zeit durch
- den integrierten Windowmanager manipuliert werden. Somit kann
- der Benutzer seine Bildschirmoberfläche selbst auf einfachste
- Weise gestalten. Er kann Windows verschieben, scrollen, Zoomen
- Maximal/Minimal Größe setzen, Windows in den Vordergrund setzen.
- Damit ist eine weitere Bedingung des SAA/CUA Konzepts voll erfüllt,
- die Möglichkeit Windows zu jeder Zeit interaktiv zu manipulieren.
- Probieren Sie die Möglichkeiten selbst aus, Funktion Windows/Dynamisch.
-
- Die nächste wesentliche Erleichterung bei der Programmentwicklung
- stellt der Screenmanager dar. Dieses Programm ermöglicht die
- Erstellung von Dialogfenstern oder dynamischen Windows interaktiv.
- Dadurch wird die Entwicklungszeit von Oberflächenmasken wesentlich
- erhöht. Der Zugriff auf die Masken erfolgt durch Funktionen,
- ähnlich der Standardfunktion printf und scanf, die die Ausgabe
- oder Eingabe mehrerer Daten in einem Aufruf ermöglichen.
- Durch Angabe der Feldparameter während der Felddefinition kann der
- Ablauf des Aus- Eingabeprozesses bereits in einem frühen Stadium fest-
- gelegt werden. Die Vereinbarungen betreffen den Datentyp, die Länge,
- die Ausrichtung, Min,Max-Werte, Eingabe, Überprüfungsroutinen usw.
- Die Voreinstellungen können jederzeit durch Formatangabe bei dem
- jeweiligen Funktionsaufruf überschrieben werden, so daß eine Größt-
- mögliche Flexibilität bei der Behandlung von Bildschirmmasken jederzeit
- gewährleistet ist. Der Screenmanager ist natürlich mit den
- KIWI C TOOLS V 3.20 erstellt worden, und verfügt somit ebenfalls über alle
- hier beschriebenen Vorteile. Sie können Sich davon mittels der Demoversion
- selbst überzeugen. Gemäß unserer Philosophie ist der Screenmanager
- natürlich ebenfalls im Source Code erhältlich.
-
- Die dritte Erweiterung dient der Vermeidung der meisten Absturzursachen,
- der Speicherverwaltung auf dem Heap oder Far Heap. Die Version V 3.20
- verfügt nun über eine Memory Shell, die die Standardaufrufe umleitet,
- und so ohne Änderungen im bestehenden Source eingebaut werden kann.
- Diese Shell ermöglicht die Kontrolle über erfolgte Speichermanipulationen,
- und meldet eventuell auftretende Fehler sofort. Außerdem kann zu jeder
- Zeit der benutzte Speicherbedarf festgestellt werden, sowie eine
- Protokollausgabe über die erfolgten Aufrufe, mit Angabe in welcher
- Datei und in welcher Zeile.
- Die Benutzung dieser Shell ist sehr zu empfehlen, da dadurch Speicherfehler
- sehr früh, bereits in der Entwicklung entdeckt werden können. Jeder der
- bereits mit derartigen Fehlern konfrontiert worden ist, wird die
- Memory Shell zu würdigen wissen.
-
- Eine weitere wichtige Neuerung ist die Einführung der Procedure Table.
- In dieser Tabelle können beliebig viele Funktion eingetragen werden, und
- zu einem späteren Zeitpunkt durch eine gesetzte Tastenkombination oder
- durch einen gesetzten Identifikationsstring ausgeführt oder übergeben werden.
- Dadurch wird eine weitreichende Flexibiliät in der Programmablauflogik
- erreicht, ohne einen aufblähenden Overhead zu erzeugen. Dieses Verfahren
- ist innerhalb der Funktion scanf_mask bereits implementiert, um eine
- Überprüfung der Eingabe zu erreichen. Benutzen Sie Edit Datensatz.
-
-
- Ein weiteres wichtiges Bedienelement sind Buttons oder Schalter.
- Diese können beliebig innerhalb eines Windows plaziert werden, wobei
- die komplette Handhabung durch 7 Funktionen ermöglicht wird.
- benutzen Sie die Festlegungen Farbe und Form und die Option Diverses
- und Reaktionstest um die Möglichkeiten der Buttons zu prüfen.
-
- Die Funktionen array_get_files und browse_get_files ermöglichen nun
- die Erfassung von Verzeichnissen und Laufwerken. Dadurch kann bei der
- Auswahl einer Datei, der komplette Verzeichnisbaum durchsucht werden,
- ohne die Funktion zu verlassen.
-
- Die Einführung von Slidern ermöglicht nun die visuelle Darstellung
- von Abläufen, die eine gewisse Zeit in Anspruch nehmen.
-
-
- Als letztes ist die Überarbeitung der bereits bestehenden Bereiche
- zu erwähnen, die durch Anregungen, Fehler oder Umständlichkeiten
- im täglichen Gebrauch notwendig wurden.
-
- Wählen Sie die Option INDEX um eine Übersicht über alle
- angebotenen Funktionen zu erhalten.
-
- ══════════════════════════════════════════════════════════════
-
- Dieses Programm soll die vielfältigen Möglichkeiten dieser Tool Box
- für die Programmiersprache C darstellen.
- Dafür sind verschiedene "Aufgaben" zusammengepackt
- worden. Diese einzelnen Möglichkeiten sind
- ausgearbeitet worden, um die Arbeitsweise der
- entsprechenden Funktion zu demonstrieren. Ob die
- Funktion in der hier vorliegenden Form sinnvoll oder
- nicht ist, war nicht Gegenstand der Aufgabe.
-
- ═══════════════════════════════════════════════════════════════
-
- Am oberen Rand sehen Sie die Menüzeile. Um dort eine
- Wahl zu treffen, bewegen Sie den Mauszeiger auf einen
- Begriff und betätigen Sie die linke Taste. Haben Sie keine
- Maus, betätigen Sie den hervorgehobenen Buchstaben zusammen
- mit der Alt Taste. Daraufhin springt ein Untermenü auf,
- in dem Sie weitere Auswahlmöglichkeiten vorfinden.
- Was Sie zur Zeit sehen ist die Hilfefunktion, die bei
- Programmstart automatisch initialisiert und aufgerufen wird.
- Betätigen Sie an irgendeiner Stelle die Funktionstaste F1, so
- wird versucht einen zu der jeweiligen Programmstelle passenden
- Hilfetext einzublenden. Wenn Ihnen dieser Text nicht weiterhilft,
- so wählen Sie Mehr Info, und Sie können aus allen verfügbaren
- Hilfetexten wählen. Finden Sie kein passenden Eintrag, versuchen
- Sie ein Stichwort einzutippen. Dabei wird nicht zwischen Groß und
- Kleinschreibung unterschieden. Wenn irgendwas zu diesem Stichwort
- passt bekommen Sie den zugehörigen Hilfetext eingeblendet.
- Falls Ihnen die Hilfetexte nicht gefallen können Sie sie jederzeit
- nach Ihren Geschmack ändern. Bei erneutem Start wird die
- Hilfedatei untersucht und bei Bedarf der zugehörige Index neu
- erstellt.
-
- @ProgrammInfo
-
- KIWI SOFT Dipl. Ing. Joachim Friedrich
- Heinrichsglück 5908 Neunkirchen / Siegerland
- Telefon 02735/61248
-
- Demo Programm V 2.20 24.03.1992
-
-
- @Hilfetaste
- Diese Case Sensitiv Online Hilfe wird über eine
- bestimmte Tastenkombination ausgelöst. Diese
- Tastenkombination ist auf F1 festgelegt. Sie können
- diese Tastenkombination jederzeit ändern. Dazu wählen
- Sie das Menü Option Hilfetaste an. Dann tippen Sie die
- Tastenkombination, die die Hilfe auslösen soll. Dabei
- können Sie beliebige Kombination
- von Alt, Ctrl, Funktionstasten oder sonstigen Tasten
- wählen. Ausgeschlossen sind spezielle Kombination, wie
- Alt + F1 oder Alt + Cursortasten. Diese Kombination
- lösen auf Betriebssystemebene bestimmte
- Funktionen aus und sind daher als
- Hilfetastenkombinationen nicht zugelassen.
-
- @Dynamische Fenster
- Dynamische Fenster und virtuelle Screen sind ab der Version V 3.1
- verfügbar und erhöhen die flexibilität des gesamten System ernorm.
- Virtuelle Screens sind Bildschirme, die nur im Speicher existieren, und
- die durch Fenster am realen Bildschirm sichtbar werden. Die Anzahl
- und Größe der virtuellen Screens werdn nur durch den verfügbaren Speicher
- begrenzt. Ein virtueller Bildschirm kann maximal 64 KB Speicher benutzen,
- das sind 32000 Zeichen oder 132x240 Zeichen.
-
- Ein virtueller Bildschirm kommuniziert mit einem normalen Bildschirmfenster,
- durch das der Inhalt des Bildschirm sichtbar werden kann. Es können auch
- beliebig viele Fenster an ein virtuellen Bildschirm gelinkt werden,
- um verschiedene Teile gleichzeitig sichtbar zu halten. Wenn ein Fenster
- an einen virtuellen Bildschirm gelinkt wird, gehen alle Ausgaben, die auf
- das Fenster gerichtet werden, automatisch auf den virtuellen Bildschirm.
- Die Größe des Fensters kann dabei beliebig innerhalb der Größe des
- Bildschirm verändert werden. Diese Änderung kann durch einen integrierten
- Windowmanager erfolgen. Dieser Windowmanager ermöglich gleichzeitig die
- Manipulation aller dynamischen Fenster am Bildschirm.
-
- Dazu besitzt jedes dynamische Fenster verschiedene Manipulatorpunkte.
- Pickt man ein Fenster an einer Kante kann die Größe verändert werden.
- Pickt man ein Fenster am Rand wird es in den Vordergrund geholt.
- Der linke obere Punkt dient zur Verschiebung des Fensters am Bildschirm.
- Der rechte obere bewirkt bei betätigung der linken Maustaste eine
- Vergrößerung bis maximale Größe, bei Betätigung der rechten Taste eine
- Verkleinerung bis minimal. Die Pfeile dienen zur Verschiebung des
- Bildschirminhalts hinter dem Fenster, wobei durch die Scrolbalken rechts
- und unten, die Position des Fensters innerhalb des virtellen Bildschirms
- angezeigt wird.
- Haben Sie keine Maus, können Sie durch Eingabe von ALT+CTRL+W in den
- Windowmanger wechseln. Das aktive Window verliert seinen Schatten.
- Ist das aktive Window nicht das gewünschte, so können Sie mit N
- unter den dynamischen Windows hin und herspringen.
- Mit den Cursortasten können Sie nun die Position ändern, mit den
- Cursortasten und der linken Shifttaste wird das Fenster vergrössert,
- mit der rechten Shifttaste verkleinert. Durch E wird es maximiert,
- durch M minimiert, und durch U,D,R,L kann der Inhalt gescrollt werden.
- Dabei gilt U=Up,D=Down,R=Rechts,L=Links. Durch jede andere Taste wird
- der Windowmanager wieder verlassen.
-
- @Fensterbeschreiben
- Diese Funktion erstellt möglichst viele
- Bildschirmfenster um diese danach mit einem Text zu
- beschreiben. Dabei wird demonstriert, wie auch
- teilweise oder ganz verdeckte Fenster beschrieben
- werden können. Da bei der Erstellung der Fenster die
- Farbe gewechselt wurde, erscheint nun jeder
- Schriftzug eines Fensters in der Fensterfarbe.
-
- @Dateierfassung Array
- Diese Funktion dient dazu eine Datei interaktiv
- auszuwählen. Dazu wird der Dateipfad eingegeben und
- durch die Funktion array_get_files werden die Dateien
- unter diesem Pfad erfasst und in einem
- Bildschirmfenster nebeneinander in einem Feld
- angezeigt. Der Benutzer kann nun bequem die gewünschte
- Datei mittels Maus oder Cursortasten auswählen. Nach
- der Auswahl wird der Inhalt der Datei in einem
- Fenster ausgegeben.
-
- @Dateierfassung Browse
- Diese Funktion dient dazu eine Datei interaktiv
- auszuwählen. Dazu wird der Dateipfad eingegeben und
- durch die Funktion browse_get_files werden die
- Dateien unter diesen Pfad erfasst und in einem
- Bildschirmfenster untereinander angezeigt. Der
- Benutzer kann nun bequem die gewünschte Datei mittels
- Maus oder Cursortasten auswählen Nach der Auswahl
- wird der Inhald der Datei in einem Fenster
- ausgegeben.
-
- @Fenster Farbe
- Diese Funktion färbt das angezeige Bildschirmfenster
- nacheinander in alle verfügbaren Bildschirmfarben.
- Diese sind in der Funktion init_tools zuvor
- festgelegt worden. Zum Einfärben wird die Funktion
- set_window_attribut verwendet.
-
- @Fenster verfügbar
- Dieser Punkt demonstriert zwei Eigenschaften der
- Tools. Erstens die Funktion choose_button, bei der
- verschiedene Optionspunkte aktiviert oder
- desaktiviert werden können. Dieses erfolgt durch
- Anklicken der Zeile, oder durch Return oder durch den
- jeweiligen Schlüsselbuchstaben. Die zweite Funktion
- ist der Aktivitätsmodus von Menüpunkten. Alle
- abgeschalteten Menüpunkte werden bei dem nächsten
- Aufruf nicht mehr dargestellt, und können auch nicht
- mehr angewählt werden. Damit ist eine Bedarfsabhängige
- Menügestaltung, die von dem jeweiligen Programmmodus
- oder eventuellen Zugriffsrechten abhängig sein kann,
- möglich.
-
- @Dateiverschlüsseln
- Die Dateiverschlüsselung ermöglicht die Sicherung von
- Daten in einer Datei, die nicht mehr lesbar ist, und nur
- unter größten Schwierigkeiten, wenn überhaupt zu knacken
- ist. Der Grad der Sicherheit hängt von der Länge und
- Komplexität des Schlüssels ab. Zur Entschlüsselung wird
- der gleiche Schlüssel wie zur Verschlüsselung benutzt.
-
- @Dateientschlüsseln
- Die Dateientschlüsselung ist der Umkehrprozeß den
- Dateiverschlüsselung. Dazu muß der zur Verschlüsselung
- benutzte Schlüssel einegeben werden. Ist dieser Schlüssel
- richtig, wird die Datei in ihrer Originalform wieder
- hergestellt. Ist der Schlüssel falsch entsteht Unsinn.
-
- @Editor
- Der verfügbare Zeileneditor hat einige Besonderheiten.
- Er ist in seinem Verhalten veränderbar, so daß er
- sowohl für einzelne Zeilen als auch für Textpassagen
- benutzbar ist. weiter verfügt er über einen internen
- Buffer, in den mit Alt+S die aktuelle Zeile kopiert
- werden kann. Mit Alt+I kann der Bufferinhalt wieder
- in die aktuelle Zeile kopiert werden. Der Cursor ist
- je nach geschaltetem Einfügemodus entweder klein oder
- aber als Blockcursor gesetzt. Er kann mit den
- Cursortasten beliebig bewegt werden. Die Taste Tab(Links)
- verschiebt den Cursor um 10 zeilen nach links. Tab (Links)
- mit Shifttaste verschiebt ihn 10 Zeichen nach rechts.
- Die Taste Alt+D oder PgUp löscht die gesamte Zeile.
- Die Taste Alt+R oder PgDn löscht den Rest der Zeile
- ab Cursorposition. Die Taste Alt+U stellt die Eingabezeile
- wieder in den Ursprungszustand her. Die Taste Tab (Rechts)
- löscht das Zeichen links des Cursor und verschiebt diesen
- um eine Stelle nach links. Die Taste DEL löscht das Zeichen
- rechts vom Cursor und schiebt den Rest der Zeile nach links.
-
- @Datensatz Eingabe
- Die Eingabe eines kompletten Datensatzes demonstriert
- den Einsatz der Eingabe und Editierfunktionen im
- Zusammenspiel. Dabei ist es möglich den Cursor beliebig
- innerhalb der Eingabemaske zu frei zu bewegen
- und die Eingaben in beliebiger Reihenfolge zu tätigen.
- Bei diesem Beispiel werden alle Eingabefunktion benutzt.
-
- @Text Eingabe
- Bei dieser Funktion ist der Editor im Feldmodus. Dabei
- ermöglicht er die freie Editierung eines Textfeldes.
- Bei Erreichen des Zeilenendes springt der Cursor automatisch
- in die nächste Zeile, ebenso bei RETURN. Die Cursortasten
- HOCH/RUNTER wechseln ebenfalls die Zeile, wobei aber
- die Spalte beibehalten wird. Diese Funktion wird mit
- Escape oder mit Erreichen der letzten Textposition beendet.
- Bitte beachten Sie, das bei Verwendung von dynamischen Fenstern,
- der Cursor automatisch in dem sichtbaren Bereich gehalten wird.
- Das hat zur Folge, das bei Überschreitung der Fenstergrenzen,
- der Inhalt automatisch gescrollt wird.
- Außerdem wird der Editor Zeilenweise abwechslend in den
- NUR GROß oder nur klein Modus geschaltet.
-
- @Passwort Eingabe
- Diese Funktion ermöglich die Eingabe eines Passworts.
- Dabei wird das Eingabefenster durch ein zweites Fenster
- überlagert, so das die Eingabe nicht sichtbar ist. Der
- Editor ist im Zeilenmodus aber der Cursor ist ausgeschaltet,
- so daß die jeweilige Eingabeposition nicht erkennbar ist.
-
- @Uhr
- Diese Funktion demonstriert die Möglichkeiten der
- Zeitfunktionen. Dabei wird die Systemuhr des Rechners
- benutzt um die Zeit zu erfassen und anschließend auszugeben.
-
- @Bildschirmmodus
- Diese Funktion schaltet den Bildschirm in einen anderen
- Modus. Wenn Sie eine Farbgrafigkarte besitzen können
- Sie diese Möglichkeit nutzen. Da die Nummern der Modi
- für verschiedene Bildschirmadapter unterschiedlich sind
- können sie die Nummer manuell eingeben. Vorgegeben ist
- dabei die Nummer 38 für 80x60 Darstellung für eine
- VGA Karte Optima. Schauen Sie bitte in ihr Manual der
- Karte nach der richtigen Nummer und tragen Sie diese ein.
- Sie dürfen keinen grafischen Bildschirmmodus anwählen,
- da Grafikmodus (noch) nicht unterstützt wird. Wenn die
- Umschaltung nicht klappt können Sie den Bildschirm wieder
- in den normalen Bildschirmmodus bringen.
- Modus 3 ist der normale 80x25 Zeichen bei 16 Farben Modus.
- Modus 7 ist der Monochrom 80x25 Modus.
-
- @Ausgabemodus
- Der Ausgabemodus beschreibt die Art des Bildschirmzugriffs.
- Bei MS-DOS ist es möglich, die Ausgabe direkt in den
- Bildschirmspeicher zu schreiben, oder Funktionen zu benutzen,
- die das BIOS bereitstellt. Der direkt Weg ist die schnellste
- Möglichkeit, Daten auf dem Bildschirm zu bringen und
- ermöglich ansprechende Effekte. Dieser Weg hat aber den
- Nachteil, das er nicht unbedingt auf allen Maschinen
- reibungslos funktioniert. Die Benutzung des BIOS ist bei
- langsameren Rechnern unter Umständen recht hinderlich, bietet
- aber dafür die Gewähr unter nahezu allen Bedingungen zu
- funktionieren. Die KYIWI TOOLS bieten beide Wege an.
-
- @Fensterschatten
- Die Kiwi Tools bieten die Möglichkeit, Fenster mit einem
- Schatten zu versehen. Dieses hat zur Folge, das ein
- räumlicher Effekt auftritt, der die Überlagerung der
- einzelnen Fenster hervorhebt. Der Schatten ist so aufgebaut,
- das die Beleuchtungsquelle links oberhalb des Fensters sitzen
- würde. Dieser Schatten kann jederzeit für alle Fenster oder
- individuell für ein Fenster aufgebaut oder abgeschaltet werden.
-
- @Maus Speed
- Diese Funktion demonstriert die Benutzung der Funktion
- roll_bar, indem die Geschwindigkeit der Maus in dem Bereich
- von 0 bis 100 angegeben wird. Dieser Wert hat in diesem Fall
- keinen Einfluß auf die Maus, und dient nur
- als Beispiel für eine Anwendung.
-
- @Maus
- In allen Funktion der KIWI TOOLS ist die Benutzung der Maus
- vorgesehen. Die Maus fragt einen installierten Maustreiber
- über den Interrupt 0x33 ab. Dieser Interrupt ist der Mausinterrupt
- und es sollten normalerweise keine Probleme auftauchen.
- Die Mausfunktionen sind mit einer Genius, Microsoft und Witty Maus
- getestet worden, ohne das Probleme auftauchten.
- Die Anwendung einer Maus erleichtert die Benutzung der Menüs und
- sonstigen interaktiven Funktionen sehr, und sollte deshalb stets
- mit in Programme einbezogen werden.
- Falls keine Maus zur Verfügung steht, oder keine Mausbenutzung
- gewünscht wird, müssen alle Funktion auch ohne Maus verfügbar sein.
- Aus diesem Grund kann die Maus mit dieser Funktion abgeschaltet werden.
-
- @Menüs nach Maus
- Die Dialogfunktion choose_menu, dialog, roll_bar usw, werden mit
- festen Positionsangaben aufgerufen. Es kann aber auch ein Modus
- gewählt werden, bei dem diese Position nicht benutzt werden und
- stattdessen, die Position des Mauszeiger übernommen wird.
- Diese erspart unter Umständen lange Fahrwege mit der Maus, und
- lockert den Bildschirmeindruck etwas auf.
-
- @Menüsmodus
- Pull Down Menü
- Bei Pull Down Menüs wird die gewünschte Funktion der Hauptleiste
- angefahren und die linke Maustaste betätigt. Darufhin springt das
- zugehörige Untermenü auf. Es kann dann mit weiter gedrückter Taste
- das Untermenü ausgewählt werden, indem an der gewünschten Position
- die Maustaste gelöst wird.
-
- Pop Up Menüs
- Bei Pop Up Menüs springt das Untermenü bereits auf, wenn nur die
- Hauptleistenposition mit dem Mauszeiger angefahren wird.
- Dann kann die Unterposition ausgewählt und mit betätigen der
- linken Maustaste wird diese Aktiviert.
-
- Doppelklick Menüs
- Bei Doppelklickmenüs wird die Hauptleiste angefahren und mit
- Betätigung der linken Maustaste das Untermenü aktiviert. Dann
- muß die Taste gelöst werden. Daraufhin springt das Untermenü auf
- und es kann die gewünschte Funktion angewählt werden indem
- wiederrum die linke Maustaste betätigt wird.
-
- @Druckausgaben
- Sämtliche Druckausgaben der KIWI TOOLS gehen nicht direkt auf
- einen Druckeranschluß, sondern auf einen Stream. Im Normalfall
- ist dieser Stream mit dem Standarddrucker verbunden, es kann
- aber auch eine Datei angeschlossenen sein. In diesem Fall
- wird die gesamte Druckausgabe auf eine Datei umgeleitet.
- Eine weitere Möglichkeit besteht darin, den Ausgabekanal
- mit einem zweiten Stream zu verbinden, um die Ausgabe simultan
- auf einem, oder zwei Druckern, oder auf einem Drucker und einer
- Datei auszugeben, um z.B. die Druckausgabe zu protokollieren.
- Um die Ausgabe zu formatieren werden die Steuerzeichen, die
- notwendig sind um den Drucker anzusteuern, aus einer Datei
- entnommen. Die Datei PRINTER.KSP ist eine ASCII Datei und besteht
- jeweils aus einem Schüsselwort und den zugehörigen Steuercodes.
- Die hier vorliegende Datei ist für einen NEC P6/P7 Drucker
- abgestimmt. Benutzen Sie einen anderen Drucker, oder ergeben
- sich Probleme bei der Ausgabe können Sie die für ihren Drucker
- passenden Steuercodes in dieser Datei anstelle der alten Werte
- eintragen. Die Werte sind dezimal einzutragen.
-
- @Druckausgabeattribut
- Das Druckausgabeattribut besteht das Aussehen der Druckausgabe.
- Sie können wählen zwischen den angebotenen Feldern.
-
- @Dateierfassung Drucken
- Sie können an dieser Stelle eine Datei auswählen, die im Anschluß
- auf den Druckausgabekanal geleitet wird. Dabei kann dieser Kanal
- mit einem Drucker oder einer Datei oder beidem angeschlossenen
- sein. Bevor Sie Drucken, wählen Sie bitte ihre Druckparameter aus
- den angebotenen Position Attribut, Lage, Breite, Schrift.
-
- @Drucker Initialisieren
- Diese Option setzt den Drucker auf die Standardwerte, und schließt
- eventuelle Ausgabedateien, die mit der Druckausgabe verbunden sind.
- Nach diesem Aufruf erfolgt eine Druckausgabe nur noch auf dem
- Drucker, bis Sie eine Datei als Ausgabe angewählt haben.
-
- @Bildschirmrand
- Diese Funktion färbt den Bildschirmrand in einer beliebigen
- Farbe. Der Bildschirmrand (Overscan) ist der Bereich, der
- nicht beschrieben werden kann und normalerweise schwarz bleibt.
-
- @Speicherbedarf
- Diese Funktion zeigt den momentan verfügbaren Speicherplatz
- im aktuellen Datensegment. In diesem Fall ist das Programm
- ein Medium Memory Modell, das heißt 1 Datensegment mit max 64 KB
- und mehrere Textsegmente mit über 64 KB. Da die gesamte Bildschirm-
- verwaltung in den Far Heap verlagert wird, ist der verfügbare
- Datenbereich auch in Small und Medium Modellen normalerweise
- ausreichend, so daß nur in Sonderfällen auf Large Modelle
- ausgewichen werden muß. In diesem Demoprogramm sind fast alle
- Funktionen der KIWI TOOLS eingebunden, so das der von den
- TOOLS verbrauchte Speicherplatz überschaubar wird.
-
- @Dateierfassung Löschen
- Sie können eine Datei erfassen, die danach gelöscht wird.
- Diese Datei ist nicht nur im Verzeichnis gelöscht, sondern
- auch physikalisch gelöscht, so das es keine Möglichkeit
- gibt, den Dateiinhalt wieder zurück zu holen.
- Überlegen Sie sich also den Schritt genau.
-
- @File I/O
- Die Funktionen zu dem FILE I/O ermöglichen den hardware-
- unabhängigen Datenaustausch von Hauptspeicher und Datei.
- Bei unformatierter Schreibweise binärer Daten auf Datei
- ist es unter Umständen nicht möglich, diese Daten auf
- verschiedenen Hardwarekomponenten zu lesen. Ausgelöst
- durch die unterschiedliche Interpretation der
- Low and High Order Bytes eines Worts der verschiedenen
- Prozessoren kann es zu inkompatibilitäten kommen.
- Die hier eingesetzten Funktion lösen dieses Problem, da
- hier die Daten bevor Sie auf die Datei, bzw
- in den Haupspeicher geschrieben werden in ein neutrales
- Format konvertiert werden. Dieses erfolgt durch Shiftoperationen,
- da diese bei allen Rechnern in die gleiche Richtung erfolgen.
- Konsequenz ist allerdings, das die Daten mit den gleichen
- Funktionen geschrieben und gelesen werden müssen, wobei
- das erzeugte Format zwischen fget,bzw fput und fget_conv
- und fputconv identisch ist.
-
- @Menüleistenposition
- Sie können die Zeile, in der das Hauptmenü erscheint frei wählen.
- Diese Zeile kann die oberste oder die unterste verfügbare
- Bildschirmzeile, oder jede dazwischen sein. Die Funktionsweise
- der Menüs wird von der Position in keiner Weise beeinträchtigt. Wenn
- Sie die Menüleiste in die unterste Zeile setzen, haben Sie keine
- Pop- Down Menüs, sondern Pop Hoch Menüs.
-
- @Memory Shell
- Die Version 3.1 ist mit einer Memory Shell ausgestattet, die es
- erlaubt Speicherbehandlungsfehler, die oft sehr hinterhältig sind,
- zu entdecken. Geben Sie auf Anforderung eine Menge Bytes an, die
- dynamisch von Heap entnommen werden soll. Dieser Bereich wird
- nicht wieder befreit, so das bei Verlassen des Programms die
- Memory Shell ein Speicherprotokoll ausgeben wird.
-
- @Dateierfassungsmaske
- Die Dateierfassung in dieser Maske ist nur mit den Möglichkeiten
- der Maskenerfassungsroutine scanf_mask und 4 hinterlegten
- Pre-funktionen realisiert. Die Listen sind als Listenfelder
- deklariert und die Buttons sind als Buttons deklariert.
- Geben Sie jeweils den Pfad an und wählen sie die geünschte Datei in
- den beiden Listenfeldern. Ein Druck auf den jeweiligen Knopf lädt
- dann die gewünschte Datei und zeigt den Inhalt per Funktion
- browse_file. Der Quellcode findet sich in der Datei filelist.c
-
- @Radiobuttons
- Radiobuttons sind eine spezielle Art der Dateneingabe nach SAA.
- Dabei haben Sie die Auswahl zwischen beliebig vielen Möglichkeiten
- eines Feldes, wobei allerdings immer nur eine Möglichkeit aktiv sein
- kann. Wie bei einem Radio, bei dem ebenfalls immer nur eine
- Stationstaste angewählt sein kann. Die Radiobuttons werden zum Groß-
- teil in der Maske realisiert. Dort werden die Texte, die Anzahl und die
- Position angegeben. Scanf_mask liefert dann die laufende Nummer des
- aktiven Schalters im Feld in einer Variable Namens RADIO. In diesem
- Fall wird diese Möglichkeit zur Bestimmung einer Fensterfarbe benutzt.
- Die Eingaben oben und unten dienen nur zur Verdeutlichung der Einbindung
- der Radiobuttons in eine normale Maske.
-
- @Farbtabellen
- In dem Menüpunkt Farbtabellen, können Sie die normale und inverse
- Schriftdarstellung aus den dargestellten Farbkombinationen auswählen.
- Es sind 5 sogenannte Farbpaletten vorhanden, die den Bildschirmaufbau
- in den verschiedenen Programmebenen unterschiedlich farblich gestalten
- lassen.
-
- @Hintergrundzeichen
- Sie können den Bildschirmhintergruns aus einer Liste mit verschiedenen
- Mustern frei wählen. Setzen Sie die Einstellung Ihrer Wahl, und starten
- Sie das Programm neu, da diese Option erst beim nächsten Start aktiv ist.
-
- @SAA Manipulation
- Sie können das Aussehen der Scrollbars frei wählen, Dazu haben Sie
- zwei verschiedene Modi zur Verfügung. Testen Sie beide uns entscheiden
- Sie sich für den Modus Ihrer Wahl.
-
- @Druckausgabegerät
- Wählen Sie das gewünschte druckausgabegerät aus der Liste.
-
- @Buttontext
- Wählen Sie den Text, der als Buttonknopftext in der Maske erscheinen soll.
- Wollen Sie z.B. eine Knopf als Hilfe, geben Sie als Buttontext HILFE ein.
-
- Wenn Sie mehrere Knöpfe innerhalb einer Maske verwenden, können Sie die
- unterschiedlichen Längen der einzelnen Knopftexte mit Leerzeichen
- ausgleichen.
-
- @Tastencode
- Jeder Buttonknopf kann eine Tastenkombination erzeugen. An diese Stelle
- können Sie den Tastencode eingeben, der bei Auslösen des Buttons erzeugt
- werden soll. Benutzen Sie Sondertasten, können Sie nach betätigen der
- F2 Taste die Tastenkombination eintippen, die erzeugt werden soll, anstatt
- die Tastenkombination als Zahl einzugeben.
-
- @Buttonfunktion
- Jeder Button kann eine Funktion ausführen. Die Funktion muß in der
- Procedure Table hinterlegt sein. Die Konventionen gelten genauso wie
- für Pre- oder Postfunktionen bei normalen Eingabefeldern.
-
- @Anzahl Schalter
- Geben Sie an diese Stelle die Anzahl der Schalter dieses Radiobuttonfeldes ein.
- Die Anzahl ist die Menge aller möglichen Schalter.
-
- @Anzahl pro Reihe
- Sie können die Radiobuttons auch mehrreihig anordnen. Wenn Sie das wollen,
- geben Sie bitte die maximale Anzahl Schalter in einer Reihe ein. Bei mehreren
- Reihen muß diese Anzahl kleiner als die Gesamtanzahl Schalter sein.
-
- @Vertikalabstand
- Sie können die Schalter direkt untereinander anordnen, oder mit einer oder
- mehreren Reihen Abstand. Geben Sie hier bitte die Anzahl der Leerreihen ein.
- Wenn keine Abständer erwünscht sind geben Sie bitte 0 ein.
-
- @Horizontalabstand
- Wenn Ihre Anordnung mehrreihig sein sollte müssen Sie die Anzahl der Spalten,
- die zwischen den einzelnen Eingabereihen bestehen hier eingeben. Eventuell
- müssen Sie diese Zählen.
-
- @KeyChar
- Wählen Sie den Buchstaben, der als HotKey den Button aktiviert.
- 0 ist der erste Buchstabe, 1 der zweite Buchstabe des Wortes usw.
- Achten Sie darauf, keine Buchstaben doppelt zu vergeben, da es sonst
- zu Überlagerungen kommen kann.
-
- @Schalterform
- Sie haben die möglichkeit, die Schalterform frei zu bestimmen. Zur
- Verfügung stehen drei verschiedene Formen. Die KIWI Soft Form besteht aus
- einem Rechteckigen Kasten mit Rand, die Borland (TM) Form besteht aus einer
- einzigen Zeile, die Microsoft (TM) Form besteht aus einer Zeile mit Text
- in Klammern. Wählen Sie die gewünschte Bauform aus, indem Sie die gewünschte
- Zeile aktivieren. Die Änderung tritt sofort nach Abspeichern in Kraft.
-
- @Schalterschatten
- Die Schalter können mit einem Schatten versehen werden, so das diese einen
- 3 dimensionalen Character erhalten. Dadurch wird das Erscheinungsbild insgesamt
- verbessert. Beim Betätigen eines Schalters wird dann der Eindruck der Bewegung
- erzeugt. Wollen Sie diesen Effekt nicht, schalten Sie ihn einfach ab.
-
- @Schalterklicken
- Sie können beim Betätigen und beim Lösen eines Schalters einen Ton erzeugen
- lassen. Frequenz und Zeitdauer können Sie jeweils bestimmen. Wollen Sie
- keinen Ton erzeugen, schalten Sie die Option ab. Die Angaben über Frequenz
- und Zeitdauer werden dann ignoriert. Wenn die Option <Mit warnton>
- abgeschaltet ist, wird ebenfalls kein Ton erzeugt.
-
- @Einschaltfrequenz
- Dieser Wert bestimmt die Frequenz des Einschaltklicks eines Schalters.
- Zusammen mit der Zeitdauer können Sie so die Charakteristik dieses Tons
- individuell gestalten. Die Werte sollten zwischen 50 und 400 Hertz liegen.
-
- @Einschaltdauer
- Dieser Wert bestimmt die Dauer des Einschaltklicks eines Schalters.
- Zusammen mit der Zeitdauer können Sie so die Charakteristik dieses Tons
- individuell gestalten. Die Werte sollten zwischen 2 und 10 Hunderstel
- Sekunden liegen. Längere Werte führen zu einer nervenden Geräuschkulisse.
-
- @Ausschaltfrequenz
- Dieser Wert bestimmt die Frequenz des Ausschaltklicks eines Schalters.
- Zusammen mit der Zeitdauer können Sie so die Charakteristik dieses Tons
- individuell gestalten. Die Werte sollten zwischen 50 und 400 Hertz liegen.
-
- @Ausschaltdauer
- Dieser Wert bestimmt die Dauer des Ausschaltklicks eines Schalters.
- Zusammen mit der Zeitdauer können Sie so die Charakteristik dieses Tons
- individuell gestalten. Die Werte sollten zwischen 2 und 10 Hunderstel
- Sekunden liegen. Längere Werte führen zu einer nervenden Geräuschkulisse.
-
- @Bildschirmgröße
- Sie können den Screenmanager in jedem verfügbaren Textmodus
- benutzen, um z.B. große Fenster in 132x88 Darstellung bearbeiten
- zu können. Setzen Sie den gewünschten Bildschirmmodus fest, und der
- Bildschirm wird wenn möglich in diesem Modus versetzt. Ein Umschalten von
- Farb- nach Schwarz-Weiß Darstellungen und umgekehrt ist nur nach Neustart
- des Programms möglich. Bei Neustart des Programms schaltet der Screenmanager
- automatisch in diesen Bildschirmodus.
-
- @Bildschirmzugriff
- Normalerweise erfolgen alle Ausgaben des Programms auf den Bildschirm
- im direkten Zugriff. Das bedeutet den schnellstmöglichen Bildschirmaufbau.
- Es können aber bei bestimmten Rechnern dabei Probleme auftreten, die Sie
- durch Umschaltung auf den BIOS Mode umgehen können. Der Bildschirmaufbau
- wird dadurch wesentlich verlangsamt, aber dieser Modus funktioniert bei
- jeder Hardware und jeder Softwarekonfiguration, da er das Betriebssystem
- benutzt.
-
- @Menüposition
- Sie können alle Dialogmeldungen und Submenüs entweder an der vorgesehen
- Stelle plaziert haben, oder aber an der jeweiligen Mauscursorposition.
- Das ersparrt unter Umständen längere Fahrwege mit der Maus.
-
- @Menüart
- Sie können die Art und Weise, wie die Hauptmenüs und Submenüs angesteuert
- werden beeinflußen. Wählen Sie Pop Up Menüs springen die Untermenüs auf
- wenn der Mauscursor auf die Menüleiste kommt. Bei Pull Down Menüs müßen
- Sie zusätzlich die linke Maustaste betätigen und gedrückt lassen. Bei
- Doppelklick müßen Sie die Taste betätigen und wieder loslassen. Die Submenü-
- auswahl wird dann durch erneuten Anklinken betätigt.
-
- @Mausmodus
- Die Benutzung dieses Programms ist sehr start Mausorientiert, da die
- Maus eine wesentlich leichtere Bedienung ermöglicht. Einige wenige
- Funktion sind nur durch eine Maus verfügbar. Die meistens Funktionen
- sind auch durch Tastenkombinationen verfügbar. Haben Sie keine Maus
- wird die Mausbedienung automatisch unterdrückt. Haben Sie eine Maus aber
- Sie wollen diese nicht benutzen, können Sie diese mit der angewählten
- Funktionen Mausmodus abschalten, oder auch wieder anschalten.
-
- @Mausbedienung
- Sie können die Maus für einen Rechtshänder oder für einen Linkshänder
- schalten. Bei dem Linkshandmodus werden die linke und rechte Maustaste
- vertauscht. Bedenken Sie, das die jeweils "rechte" Maustaste einer
- Betätigung der Escapetaste gleichkommt.
-
- @Warnton
- Bei unerlaubten Operationen ertönt eine akkustische Warnung. Geht Ihnen
- diese auf den "Wecker", können Sie diese Warnung abschalten.
-
- @Druckertyp
- Sie können zwischen zwischen der Einstellung Nadeldrucker und Laser-
- drucker wählen.
- Die Einstellung Nadeldrucker steht auch für Tintenstrahldrucker (z.B.
- HP Desk Jet).
- Die Einstellung Laserdrucker steht für alle Laserdrucker mit HP Laser-
- Jet II Emulation.
-
- @Druckeranschluß
- Wählen Sie den logischen Druckausgang für Druckausgaben. Wenn Sie sich nicht
- sicher sind, wählen Sie die Option STDPRN. Damit wird der Standarddrucker
- ihres Systems angesprochen.
-
- @Initialisieren
- Initialisieren
- Sie können Steuersequenzen vor dem Ausdruck an Ihren Drucker senden,
- um eine bestimmte Schriftart einzustellen.
- Reinitialisieren
- Die Zurücksetzung in den Standardmodus, nach dem Druck, erreichen Sie
- mit der Steuersequenz für die Reinitialisierung.
-
- Die Steuerzeichen müssen im ASCII-Code eingegeben werden und durch
- Kommata getrennt sein (z.B. ESC n = 27, 110).
-
- @Reinitialisieren
- Initialisieren
- Sie können Steuersequenzen vor dem Ausdruck an Ihren Drucker senden,
- um eine bestimmte Schriftart einzustellen.
- Reinitialisieren
- Die Zurücksetzung in den Standardmodus, nach dem Druck, erreichen Sie
- mit der Steuersequenz für die Reinitialisierung.
-
- Die Steuerzeichen müssen im ASCII-Code eingegeben werden und durch
- Kommata getrennt sein (z.B. ESC n = 27, 110).
-
- @Linker Rand
- Geben Sie die Breite des linken Druckrandes in Zeichen ein. Bei einer
- Eingabe von 0 wird der Text linksbündig am Papierrand ausgedruckt,
- größere Werte bewirken einen entsprechend breiten linken Rand.
- Die richtige Einstellung hängt von der am Drucker eingestellten
- Schriftart ab. Der realistische Wertebereich liegt zwischen 0 und
- 5 Zeichen.
-
- @Dateidruckpfad
- Sie können einen Datenpfad eingeben der bei Ausgaben in eine Datei vor-
- geschlagen wird. Sie ersparen sich bei gleichbleibendem Pfad, dadurch
- die entsprechende Eingabe (z.B.: C:\WORD\).
-
- Ist kein Datenpfad angegeben wird das aktuelle Programmverzeichnis ge-
- wählt.
-
- @Seitenlänge
- Geben Sie die Anzahl der Zeilen pro Zeile, die Ihr Drucker bzw. Papier
- schafft. Nach Ausdruck der Zeilenanzahl wird ein Seitenvorschub eingefügt.
-
- @Fensteröffnungsmodus
- Die Fenster können nach zwei Verschiedenen Verfahren aufklappen. Einmal der
- normale Modus, indem das Fenster in voller Breite erscheint und dann nach
- oben und wächst. Der zweite Modus wächst erst in der Breite und dann in die
- Höhe. Wählen Sie selbst aus, welches Verfahren Ihnen besser gefällt.
-
- @Fensterverzögerung
- Mittels diesem Faktor können Sie die Geschwindigkeit, mit der die Fenster
- geöffnet werden beeinflußen. Dabei gilt, je kleiner der Faktor, desto
- langsamer öffnet das Fenster. Ab ca 50 hat dieser Faktor keinen Einfluß mehr.
-
- @Dateipfad
- Der Dateipfad bestimmt das aktuelle Arbeitsverzeichnis.
- Alle Dateioperationen beziehen sich auf dieses Verzeichnis.
-
- @Heimpfad
- Der Heimpfad gibt an, wo die Zusatzdateien des Screenmanagers zu
- finden sind. Dies gilt z.B. für die Hilfe und Fehlermeldungsdatei.
- Durch Angabe dieses Pfads kann der Screenmanager in einem allgemein
- zugänglichen Pfad installt werden und hat überall Zugriff auf
- diese Dateien.
-
- @Dateianhang
- Der Dateianhang wird an eingebene Windownamen angehangen, und kann
- beliebig gewählt werden, um eventuelle Unterscheidungen zu treffen.
- Der Anhang ist wichtig bei Dateierfassen, da nur Dateien mit diesem
- Anhang zur Azswahl aufgelistet werden. Bei neuen Windows wird der
- aktuelle Anhang an den Namen angehängt.
-
- @Dateierfassungsfenster
- Je nach Anzahl der zu erfassenden Masken, kann die Dateierfassung mit
- der Pickliste umständlich sein. Dann können Sie auf Feld umschalten,
- bei dem die Dateierfassung in einem größeren Window erfolgt.
-
-
-
-
-
-